home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / mpeg_stat-2.2 / proto.h < prev    next >
C/C++ Source or Header  |  1995-05-10  |  5KB  |  168 lines

  1. /* MPEGSTAT - analyzing tool for MPEG-I video streams
  2.  * 
  3.  *  Copyright (c) 1995 The Regents of the University of California.
  4.  * All rights reserved.
  5.  *
  6.  * Technical University of Berlin, Germany, Dept. of Computer Science
  7.  * Tom Pfeifer - Multimedia systems project - pfeifer@fokus.gmd.de
  8.  *
  9.  * Jens Brettin, Harald Masche, Alexander Schulze, Dirk Schubert
  10.  *
  11.  * This program uses parts of the source code of the Berkeley MPEG player
  12.  *
  13.  * ---------------------------
  14.  *
  15.  * Copyright (c) 1993 Technical University of Berlin, Germany
  16.  *
  17.  * for the parts of the Berkeley player used:
  18.  *
  19.  * Copyright (c) 1992 The Regents of the University of California.
  20.  * All rights reserved.
  21.  *
  22.  * ---------------------------
  23.  *
  24.  * Permission to use, copy, modify, and distribute this software and its
  25.  * documentation for any purpose, without fee, and without written agreement is
  26.  * hereby granted, provided that the above copyright notices and the following
  27.  * two paragraphs appear in all copies of this software.
  28.  * 
  29.  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA 
  30.  * or the Technical University of Berlin BE LIABLE TO ANY PARTY FOR
  31.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  32.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  33.  * CALIFORNIA or the Technical University of Berlin HAS BEEN ADVISED OF THE 
  34.  * POSSIBILITY OF SUCH DAMAGE.
  35.  * 
  36.  * THE UNIVERSITY OF CALIFORNIA and the Technical University of Berlin 
  37.  * SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
  38.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  39.  * PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE 
  40.  * UNIVERSITY OF CALIFORNIA and the Technical University of Berlin HAVE NO 
  41.  * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, 
  42.  * OR MODIFICATIONS.
  43.  */
  44. #ifdef __STDC__
  45. # define    P(s) s
  46. #else
  47. # define P(s) ()
  48. #endif
  49.  
  50.  
  51. /* util.c */
  52. void correct_underflow P((void ));
  53. int next_bits P((int num , unsigned int mask ));
  54. char *get_ext_data P((int *size ));
  55. int next_start_code P((void ));
  56. char *get_extra_bit_info P((void ));
  57.  
  58. /* video.c */
  59. void init_stats P((void ));
  60. void PrintAllStats P((void ));
  61. double ReadSysClock P((void ));
  62. void PrintTimeInfo P((void ));
  63. VidStream *NewVidStream P((int bufLength ));
  64. void DestroyVidStream P((VidStream *astream ));
  65. PictImage *NewPictImage P((unsigned int width , unsigned int height ));
  66. void DestroyPictImage P((PictImage *apictimage ));
  67. VidStream *mpegVidRsrc P((TimeStamp time_stamp , VidStream *vid_stream ));
  68.  
  69. /* parseblock.c */
  70. int ParseReconBlock P((int n ));
  71. int ParseAwayBlock P((int n ));
  72.  
  73. /* motionvector.c */
  74. void ComputeForwVector P((int *recon_right_for_ptr , int *recon_down_for_ptr ));
  75. void ComputeBackVector P((int *recon_right_back_ptr , int *recon_down_back_ptr ));
  76.  
  77. /* decoders.c */
  78. void init_tables P((void ));
  79. void decodeDCTDCSizeLum P((unsigned int *value ));
  80. void decodeDCTDCSizeChrom P((unsigned int *value ));
  81. int decodeDCTCoeffFirst P((unsigned int *run , int *level ));
  82. int decodeDCTCoeffNext P((unsigned int *run , int *level ));
  83.  
  84. /* main.c */
  85. #ifndef SIG_ONE_PARAM
  86. void int_handler P((void ));
  87. #else
  88. void int_handler P((int signum ));
  89. #endif
  90. void main P((int argc , char **argv ));
  91. void Usage P((void ));
  92. void DoDitherImage P((unsigned char *l , unsigned char *Cr , unsigned char *Cb , unsigned char *disp , int h , int w ));
  93.  
  94. /* jrevdct.c */
  95. void init_pre_idct P((void ));
  96. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  97. void j_rev_dct P((DCTBLOCK data ));
  98. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  99. void j_rev_dct P((DCTBLOCK data ));
  100.  
  101.  
  102. /* readfile.c */
  103. int get_more_data P((unsigned int **buf_start , int *max_length , int *length_ptr , unsigned int **buf_ptr ));
  104. void init_read_sys P((void ));
  105. int pure_get_more_data P((unsigned int *buf_start , int max_length , int *length_ptr , unsigned int **buf_ptr, int swap ));
  106. int read_sys P((unsigned int **buf_start , int *max_length , int *length_ptr , unsigned int **buf_ptr, unsigned int start ));
  107. int ReadStartCode P((
  108.    unsigned int *startCode));
  109.  
  110. int ReadPackHeader P((
  111.    double *systemClockTime,
  112.    unsigned long *muxRate));
  113.  
  114. int ReadSystemHeader P((void ));
  115.  
  116. int ReadPacket P((
  117.    unsigned char packetID,
  118.    unsigned int **buf_start , 
  119.    int *max_length , 
  120.    int *length_ptr , 
  121.    unsigned int **buf_ptr ));
  122.  
  123. void ReadTimeStamp P((
  124.    unsigned char *inputBuffer,
  125.    unsigned char *hiBit,
  126.    unsigned long *low4Bytes));
  127.  
  128. void ReadSTD P((
  129.    unsigned char *inputBuffer,
  130.    unsigned char *stdBufferScale,
  131.    unsigned long *stdBufferSize));
  132.  
  133. void ReadRate P((
  134.    unsigned char *inputBuffer,
  135.    unsigned long *rate));
  136.  
  137. int MakeFloatClockTime P((
  138.    unsigned char hiBit,
  139.    unsigned long low4Bytes,
  140.    double *floatClockTime));
  141.  
  142. /* Statistics routines in filter.c */
  143. void init_block_struct P((BlockVals *a));
  144. void init_stats P((void));
  145. void PrintAllStats P((void));
  146. void PrintSummaryStat P((int typ));
  147. void CollectStats P((void));
  148. unsigned int bitCountRead P((void));
  149. void StartTime P((void));
  150. void EndTime P((void));
  151. double ReadSysClock P((void));
  152. void PrintTimeInfo P((void));
  153. void PrintQT P((FILE *stream,char *title,int changed,unsigned char *ptr));
  154. void print_binary P(( FILE *fp, char *buf, int size));
  155.  
  156. #undef P
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.